/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.teste;

/**
 *
 * @author Afonso
 */
// Classe Principal.java
// mostra duas threads modificando um objeto compartilhado.
public class Principal {

    // execute application
    public static void main(String args[]) {
        ObjetoBuffer umBuffer = new ObjetoBuffer();
        Semaforo s1 = new Semaforo(1);  // semaforo do produtor
        Semaforo s2 = new Semaforo(0);  // semaforo do consumidor

        // criacao das threads
        Produtor umProdutor = new Produtor(umBuffer, s1, s2);
        Consumidor umConsumidor = new Consumidor(umBuffer, s1, s2);
        
        Produtor umProdutor2 = new Produtor(umBuffer, s1, s2);
        Consumidor umConsumidor2 = new Consumidor(umBuffer, s1, s2);
        
        Produtor umProdutor3 = new Produtor(umBuffer, s1, s2);
        Consumidor umConsumidor3 = new Consumidor(umBuffer, s1, s2);
        
        Produtor umProdutor4 = new Produtor(umBuffer, s1, s2);
        Consumidor umConsumidor4 = new Consumidor(umBuffer, s1, s2);

        // start threads
        umProdutor.start();
        umConsumidor.start();
        umProdutor2.start();
        umConsumidor2.start();
        
        umProdutor3.start();
        umConsumidor3.start();
        
        
        umProdutor4.start();
        umConsumidor4.start();
    }

}  // fim da classe Principal

